// ============================== 导入依赖 ============================== //

import CORE from '@/CORE'
import OneClass from '@api/user/model/SysRoleDto'
import API from './API'

// ============================== 导出状态集 ============================== //

export default {
  // —————————————————————————————— 常量状态 —————————————————————————————— //

  /**
   * 接口
   */
  API,

  /**
   * 映射
   */
  MAP: {
    WORD: '角色', // 词语
  },

  /**
   * 字典
   */
  DICT: {
    /**
     * 角色类型
     */
    ROLE_TYPE: [
      [1, '普通角色'],
      [2, '超级管理员'],
    ],

    /**
     * 角色按钮
     */
    ROLE_BTN: [
      [1, CORE.MAP.TIP_SHOW, 'btnShow', () => true],
      [2, CORE.MAP.TIP_ADD, 'btnAdd'],
      [3, CORE.MAP.TIP_EDIT, 'btnUpdate'],
      [4, CORE.MAP.TIP_DEL, 'btnDelete'],
    ],
  },

  /**
   * 初始参数
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setParam() 重置时使用
   * 4. WebSearch 高级查询点重置时使用
   */
  INIT_PARAM: CORE.initObj(OneClass, {
    //
  }),

  /**
   * 初始单项
   *
   * 1. 初始存在，才能响应
   * 2. CORE.mixStore(store) 时使用
   * 3. setOne() 重置时使用
   * 4. openAdd() 新增时使用
   */
  INIT_ONE: CORE.initObj(OneClass, {
    roleType: 1,
    authReady: '', // 权限就绪 ('' 或 'ready')
    rolePlatformWeb: 2,
    rolePlatformLogistics: 2,
    rolePlatformStaff: 2,
    rolePlatformDashboard: 2,
    roleBtn: [1, 2, 3, 4],
    status: 1,
    regionIdStr: '',
    menuIdStr: '',
    logisticsAppMenuIdsStr: '',
    staffAppMenuIdsStr: '',
    dashboardMenuIdsStr: '',
  }),
}
